[INFO] cloning repository https://github.com/KOBA789/vecexp-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KOBA789/vecexp-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKOBA789%2Fvecexp-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKOBA789%2Fvecexp-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e96ae7d1ff93f55615ba71481ea3b2612aac309b
[INFO] checking KOBA789/vecexp-rs against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKOBA789%2Fvecexp-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KOBA789/vecexp-rs
[INFO] finished tweaking git repo https://github.com/KOBA789/vecexp-rs
[INFO] tweaked toml for git repo https://github.com/KOBA789/vecexp-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KOBA789/vecexp-rs on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KOBA789/vecexp-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Updating git repository `https://github.com/ruuda/filebuffer.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded linked-hash-map v0.4.2
[INFO] [stderr]   Downloaded combine v2.3.2
[INFO] [stderr]   Downloaded ascii v0.7.1
[INFO] [stderr]   Downloaded vec_map v0.7.0
[INFO] [stderr]   Downloaded bitflags v0.8.2
[INFO] [stderr]   Downloaded term_size v0.3.0
[INFO] [stderr]   Downloaded atty v0.2.2
[INFO] [stderr]   Downloaded strsim v0.6.0
[INFO] [stderr]   Downloaded unicode-segmentation v1.1.0
[INFO] [stderr]   Downloaded clap v2.23.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c8d9c31f761d5436513e79ff225433001276653a85264a7cbeab871c0e5642cd
[INFO] running `Command { std: "docker" "start" "-a" "c8d9c31f761d5436513e79ff225433001276653a85264a7cbeab871c0e5642cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8d9c31f761d5436513e79ff225433001276653a85264a7cbeab871c0e5642cd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8d9c31f761d5436513e79ff225433001276653a85264a7cbeab871c0e5642cd", kill_on_drop: false }`
[INFO] [stdout] c8d9c31f761d5436513e79ff225433001276653a85264a7cbeab871c0e5642cd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 16de382b05da7f5f580e1d84960b6c37f14f4311e6c96a553dbbf9251b048d19
[INFO] running `Command { std: "docker" "start" "-a" "16de382b05da7f5f580e1d84960b6c37f14f4311e6c96a553dbbf9251b048d19", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking atty v0.2.2
[INFO] [stderr]     Checking term_size v0.3.0
[INFO] [stderr]     Checking unicode-segmentation v1.1.0
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking bitflags v0.8.2
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]     Checking vec_map v0.7.0
[INFO] [stderr]     Checking ascii v0.7.1
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking filebuffer v0.1.0 (https://github.com/ruuda/filebuffer.git?rev=4a55662#4a55662b)
[INFO] [stderr]     Checking linked-hash-map v0.4.2
[INFO] [stderr]     Checking combine v2.3.2
[INFO] [stderr]     Checking clap v2.23.3
[INFO] [stderr]     Checking vecexp-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/index.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn body_path(&self, usize) -> PathBuf;
[INFO] [stdout]    |                         ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/index.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn features_path(&self, usize) -> PathBuf;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/index.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |         Ok((io::BufWriter::new(fs::File::create(path)?)))
[INFO] [stdout]    |            ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         Ok((io::BufWriter::new(fs::File::create(path)?)))
[INFO] [stdout] 90 +         Ok(io::BufWriter::new(fs::File::create(path)?) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/index.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn body_path(&self, usize) -> PathBuf;
[INFO] [stdout]    |                         ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/index.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn features_path(&self, usize) -> PathBuf;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: usize`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/index.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |         Ok((io::BufWriter::new(fs::File::create(path)?)))
[INFO] [stdout]    |            ^                                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         Ok((io::BufWriter::new(fs::File::create(path)?)))
[INFO] [stdout] 90 +         Ok(io::BufWriter::new(fs::File::create(path)?) )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:16:63
[INFO] [stdout]    |
[INFO] [stdout] 16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/index.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut features_per_column = init_array!(FeatList, COLS, FeatList::new());
[INFO] [stdout]    |                                       -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:16:63
[INFO] [stdout]     |
[INFO] [stdout]  16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/index.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             init_array!(LinkedHashMap<BorrowFeat, FeatId>, COLS, LinkedHashMap::new());
[INFO] [stdout]     |             -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/macros.rs:16:63
[INFO] [stdout]    |
[INFO] [stdout] 16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/index.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut features_per_column = init_array!(FeatList, COLS, FeatList::new());
[INFO] [stdout]    |                                       -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/macros.rs:16:63
[INFO] [stdout]     |
[INFO] [stdout]  16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/index.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             init_array!(LinkedHashMap<BorrowFeat, FeatId>, COLS, LinkedHashMap::new());
[INFO] [stdout]     |             -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     bundle: &'a IndexFileBundle,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     bundle: &'a dyn IndexFileBundle,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index.rs:80:17
[INFO] [stdout]    |
[INFO] [stdout] 80 |     bundle: &'a IndexFileBundle,
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     bundle: &'a dyn IndexFileBundle,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vm.rs:59:37
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn exec(&self, writer: &mut io::Write, limit: Option<usize>) -> Option<()> {
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn exec(&self, writer: &mut dyn io::Write, limit: Option<usize>) -> Option<()> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn new(bundle: &'a IndexFileBundle) -> Indexer<'a> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn new(bundle: &'a dyn IndexFileBundle) -> Indexer<'a> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/vm.rs:59:37
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn exec(&self, writer: &mut io::Write, limit: Option<usize>) -> Option<()> {
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn exec(&self, writer: &mut dyn io::Write, limit: Option<usize>) -> Option<()> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/index.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn new(bundle: &'a IndexFileBundle) -> Indexer<'a> {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn new(bundle: &'a dyn IndexFileBundle) -> Indexer<'a> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for (column, (mut pool, mut features)) in
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for (column, (mut pool, mut features)) in
[INFO] [stdout]    |                                 ----^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...                   mut bufs: &mut Vec<FileBuffer>,
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn body_table<'a>(&self, mut bufs: &'a mut Vec<FileBuffer>) -> BodyTable<'a> {
[INFO] [stdout]    |                              ----^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for (column, (mut pool, mut features)) in
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |         for (column, (mut pool, mut features)) in
[INFO] [stdout]    |                                 ----^^^^^^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:47:31
[INFO] [stdout]    |
[INFO] [stdout] 47 | ...                   mut bufs: &mut Vec<FileBuffer>,
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/index.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn body_table<'a>(&self, mut bufs: &'a mut Vec<FileBuffer>) -> BodyTable<'a> {
[INFO] [stdout]    |                              ----^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for (mut column, (feat, mut feature_id_map)) in zipped {
[INFO] [stdout]     |                      ----^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for (mut column, (feat, mut feature_id_map)) in zipped {
[INFO] [stdout]     |                                         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:143:31
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 for (feat_id, mut column) in row.iter().zip(columns.iter_mut()) {
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for (mut column, (feat, mut feature_id_map)) in zipped {
[INFO] [stdout]     |                      ----^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 for (mut column, (feat, mut feature_id_map)) in zipped {
[INFO] [stdout]     |                                         ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/index.rs:143:31
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 for (feat_id, mut column) in row.iter().zip(columns.iter_mut()) {
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[Vec<&[u8]>; 10]` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:16:51
[INFO] [stdout]    |
[INFO] [stdout] 16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/index.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut features_per_column = init_array!(FeatList, COLS, FeatList::new());
[INFO] [stdout]    |                                       -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `alloc::raw_vec::RawVec<&[u8]>` must be initialized inside its custom valid range
[INFO] [stdout]    = note: because `alloc::raw_vec::RawVecInner` must be initialized inside its custom valid range
[INFO] [stdout]    = note: `std::ptr::Unique<u8>` must be non-null
[INFO] [stdout]    = note: because `std::ptr::NonNull<u8>` must be non-null
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[LinkedHashMap<&[u8], u32>; 10]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:16:51
[INFO] [stdout]     |
[INFO] [stdout]  16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/index.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             init_array!(LinkedHashMap<BorrowFeat, FeatId>, COLS, LinkedHashMap::new());
[INFO] [stdout]     |             -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/index.rs:155:67
[INFO] [stdout]     |
[INFO] [stdout] 155 |             for (column, feature_id_map) in feature_id_map_bundle.into_iter().enumerate() {
[INFO] [stdout]     |                                                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 155 -             for (column, feature_id_map) in feature_id_map_bundle.into_iter().enumerate() {
[INFO] [stdout] 155 +             for (column, feature_id_map) in feature_id_map_bundle.iter().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 155 -             for (column, feature_id_map) in feature_id_map_bundle.into_iter().enumerate() {
[INFO] [stdout] 155 +             for (column, feature_id_map) in IntoIterator::into_iter(feature_id_map_bundle).enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/index.rs:185:37
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let features_len = unsafe { ::std::mem::transmute::<_, u32>(len_buf) } as usize;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 185 -         let features_len = unsafe { ::std::mem::transmute::<_, u32>(len_buf) } as usize;
[INFO] [stdout] 185 +         let features_len = unsafe { u32::from_ne_bytes(len_buf) } as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/index.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let len_buf: [u8; 4] = unsafe { ::std::mem::transmute(features.len() as u32) };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 206 -         let len_buf: [u8; 4] = unsafe { ::std::mem::transmute(features.len() as u32) };
[INFO] [stdout] 206 +         let len_buf: [u8; 4] = unsafe { u32::to_ne_bytes(features.len() as u32) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[Vec<&[u8]>; 10]` does not permit being left uninitialized
[INFO] [stdout]   --> src/macros.rs:16:51
[INFO] [stdout]    |
[INFO] [stdout] 16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                   |
[INFO] [stdout]    |                                                   this code causes undefined behavior when executed
[INFO] [stdout]    |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/index.rs:31:39
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let mut features_per_column = init_array!(FeatList, COLS, FeatList::new());
[INFO] [stdout]    |                                       -------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `alloc::raw_vec::RawVec<&[u8]>` must be initialized inside its custom valid range
[INFO] [stdout]    = note: because `alloc::raw_vec::RawVecInner` must be initialized inside its custom valid range
[INFO] [stdout]    = note: `std::ptr::Unique<u8>` must be non-null
[INFO] [stdout]    = note: because `std::ptr::NonNull<u8>` must be non-null
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[LinkedHashMap<&[u8], u32>; 10]` does not permit being left uninitialized
[INFO] [stdout]    --> src/macros.rs:16:51
[INFO] [stdout]     |
[INFO] [stdout]  16 |             let mut array: [$ty; $len] = unsafe { ::std::mem::uninitialized() };
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this code causes undefined behavior when executed
[INFO] [stdout]     |                                                   help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/index.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |             init_array!(LinkedHashMap<BorrowFeat, FeatId>, COLS, LinkedHashMap::new());
[INFO] [stdout]     |             -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout]     = note: this warning originates in the macro `init_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<[T; N] as IntoIterator>::into_iter` in Rust 2021
[INFO] [stdout]    --> src/index.rs:155:67
[INFO] [stdout]     |
[INFO] [stdout] 155 |             for (column, feature_id_map) in feature_id_map_bundle.into_iter().enumerate() {
[INFO] [stdout]     |                                                                   ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]     = note: `#[warn(array_into_iter)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]     |
[INFO] [stdout] 155 -             for (column, feature_id_map) in feature_id_map_bundle.into_iter().enumerate() {
[INFO] [stdout] 155 +             for (column, feature_id_map) in feature_id_map_bundle.iter().enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]     |
[INFO] [stdout] 155 -             for (column, feature_id_map) in feature_id_map_bundle.into_iter().enumerate() {
[INFO] [stdout] 155 +             for (column, feature_id_map) in IntoIterator::into_iter(feature_id_map_bundle).enumerate() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/index.rs:185:37
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let features_len = unsafe { ::std::mem::transmute::<_, u32>(len_buf) } as usize;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 185 -         let features_len = unsafe { ::std::mem::transmute::<_, u32>(len_buf) } as usize;
[INFO] [stdout] 185 +         let features_len = unsafe { u32::from_ne_bytes(len_buf) } as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/index.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let len_buf: [u8; 4] = unsafe { ::std::mem::transmute(features.len() as u32) };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 206 -         let len_buf: [u8; 4] = unsafe { ::std::mem::transmute(features.len() as u32) };
[INFO] [stdout] 206 +         let len_buf: [u8; 4] = unsafe { u32::to_ne_bytes(features.len() as u32) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.06s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "16de382b05da7f5f580e1d84960b6c37f14f4311e6c96a553dbbf9251b048d19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16de382b05da7f5f580e1d84960b6c37f14f4311e6c96a553dbbf9251b048d19", kill_on_drop: false }`
[INFO] [stdout] 16de382b05da7f5f580e1d84960b6c37f14f4311e6c96a553dbbf9251b048d19
